// subpkg/phone-login/phone-login.js
Page({
  /**
   * 页面的初始数据
   */
  data: {
    phone: '17704051019', //手机号
    vcode: '', // 验证码
    count: 10, // 倒计时的总秒数
    tip: '获取验证码', // 提示的文字
    isCountDown: false, //是否在倒计时
    timer: -1 // 定时器
  },
  // changphone(e) {
  //   this.setData({
  //     phone: e.detail.value
  //   })
  // },
  // changvcode(e) {
  //   this.setData({
  //     vcode: e.detail.value
  //   })
  // }
  //双向绑定
  changValue(e) {
    this.setData({
      [e.target.dataset.name]: e.detail.value
    })
    // console.log(e.detail.value)
  },
  async getVcode() {
    // 手机号正则校验
    const {
      phone
    } = this.data
    const reg = /^1[3-9][0-9]{9}$/
    if (!reg.test(phone)) {
      wx.showToast({
        title: '手机号不合法',
        icon: 'none',
      })
      return
    }
    // 倒计时
    //正在倒计时不执行后面的代码
    if (this.data.isCountDown) return
    // 开始倒计时，并且显示总秒数
    this.setData({
      isCountDown: true,
      tip: `${this.data.count}`
    })
    //开始倒计时
    this.data.timer = setInterval(() => {
      //倒计时控制在1
      if (this.data.count <= 1) {
        clearInterval(this.data.timer)
        this.data.count = 10
        this.setData({
          isCountDown: false,
          tip: '获取验证码'
        })
        return
      }
      this.data.count--
      this.setData({
        tip: `${this.data.count}`
      })
    }, 1000)

    //获取验证码
    const res = await wx.$request({
      url: 'user/vcode',
      data: {
        phone
      }
    })
    console.log(res)
    if (res.status === 0) {
      this.setData({
        vcode: res.vcode
      })
    }
  },
  //手机号登录
  async phoneLogin() {
    const {
      phone,
      vcode
    } = this.data
    //验证有没有手机号
    if (`${phone}`.trim().length === 0) {
      wx.showToast({
        title: '请输入手机号',
        icon: 'none'
      })
      return
    }
    //验证有没有验证码
    if (`${vcode}`.trim().length === 0) {
      wx.showToast({
        title: '请输入验证码',
        icon: 'none'
      })
      return
    }
    //获取token
    const res = await wx.$request({
      url: 'user/login',
      method: 'POST',
      data: {
        phone,
        vcode
      }
    })
    // console.log(res)
    if (res.status === 0) {
      //保存token
      wx.setStorageSync('token', res.token)
      //跳转到首页
      wx.showToast({
        title: 'res.message',
        duration: 1000,
        success: () => {
          setTimeout(() => {
            wx.reLaunch({
              url: '/pages/home/home',
            })
          }, 1000);
        }
      })
    }
  }
})